package br.com.sadim.web;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;



import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;

import org.primefaces.event.DragDropEvent;



import br.com.sadim.diagnostico.Doenca;
import br.com.sadim.diagnostico.DoencaRN;
import br.com.sadim.diagnostico.Sintoma;
import br.com.sadim.diagnostico.SintomaRN;

@ManagedBean(name="doencaBean")
@RequestScoped
public class DoencaBean implements Serializable {

	private static final long serialVersionUID = 1L;
	private Doenca doenca = new Doenca();
	private Sintoma sintoma; 
	private List<Doenca> lista;
	private List<Sintoma> sintomas;
	private Sintoma[] selectedSintoma;  
	private DoencaRN doencaRN = new DoencaRN();
	private SintomaRN sintomaRN = new SintomaRN();
	private String sintomaIteracao;
	private Doenca selectedDoenca;

	public String salvar() {
		List<Sintoma> list = new ArrayList<Sintoma>();
		list = Arrays.asList(selectedSintoma); 
		doenca.setSintomas(list);
		doencaRN.salvar(getDoenca());
		return "doencaCadastrada";
	}

	public String edit(){
		selectedSintoma = doenca.getSintomas().toArray(new Sintoma[doenca.getSintomas().size()]);
		return "doenca";
	}

	public String delete(){
		doencaRN.delete(doenca);
		return "doencaExcluida";
	}


	public List<Doenca> getLista() {
		if(lista==null) {
			lista = doencaRN.getList();
		}
		return lista;
	}

	
	public List<SelectItem> getListSintomas(){
		List<SelectItem> sintomas = new ArrayList<SelectItem>();
		for (Sintoma s : sintomaRN.getList()) {
			sintomas.add(new SelectItem(s.getIdSintoma(), s.getNome()));  
		}  
		return sintomas;	
	}

	public Sintoma getSintoma() {
		return sintoma;
	}

	public void setSintoma(Sintoma sintoma) {
		this.sintoma = sintoma;
	}

	public String novaDoenca(){
		this.setDoenca(new Doenca());
		return "doenca";
	}

	public String removeSintoma(){
		getDoenca().getSintomas().remove(sintoma);
		return"listagemDoenca";
	}


	public Doenca getDoenca() {
		return doenca;
	}

	public void setDoenca(Doenca doenca) {
		this.doenca = doenca;
	}


	public String getSintomaIteracao() {
		return sintomaIteracao;
	}

	public void setSintomaIteracao(String sintomaIteracao) {
		this.sintomaIteracao = sintomaIteracao;
	}

	public Doenca getSelectedDoenca() {
		return selectedDoenca;
	}

	public void setSelectedDoenca(Doenca selectedDoenca) {
		this.selectedDoenca = selectedDoenca;
	}

	public List<Sintoma> getSintomas() {
		sintomas = sintomaRN.getList();
		return sintomas;
	}

	public void setSintomas(List<Sintoma> sintomas) {
		this.sintomas = sintomas;
	}


	public Sintoma[] getSelectedSintoma() {
		return selectedSintoma;
	}

	public void setSelectedSintoma(Sintoma[] selectedSintoma) {
		this.selectedSintoma = selectedSintoma;
	}
	
  
}
